﻿/*-------------------------------------------------------
 * Author : Tharinduni Udugamasuriya
 * Date : July 2014
 * IMessageService : Interface of MessageService
 ------------------------------------------------------*/

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;

namespace DSPL.Contracts.Interfaces
{
    public interface IMessageService
    {
        MessageBoxResult ShowMessage(MessageText messageText, MessageType messageType = MessageType.None);

        //void ShowMessage(MessageText messageText, string messageGeneratedForm, MessageType messageType = MessageType.None);

        MessageBoxResult ShowMessage(MessageText messageText, string messageGeneratedForm, MessageType messageType = MessageType.None);

        MessageBoxResult ShowMessage(string messageText, MessageType messageType = MessageType.None);

        MessageBoxResult ShowMessage(string messageText, string messageGeneratedForm, MessageType messageType = MessageType.None);

        void ShowException(string exceptionMessage, string methodName);

        void ShowException(string exceptionMessage, string methodName, string messageGeneratedForm);

        void ShowPopupWindow(dynamic viewModel);

        void ShowWindow(dynamic viewModel);

        void ShowReport(dynamic viewModel);
    }
}
